home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / COMMUNIC / RFDMAILN.ZIP / GENIE.SCR < prev    next >
Text File  |  1993-09-15  |  8KB  |  306 lines

  1. ;------------------------------------------------------
  2. ;
  3. ;GENIE.SCR --- The script file for GENIE
  4. ;
  5. ;------------------------------------------------------
  6. ;
  7. ;   We begin with the format specifiers to which allow
  8. ;the script to identify where the MailId, RealName,
  9. ;and Subject texts are in a newly downloaded letter.
  10. ;
  11. Format
  12. Sub: $SUBJECT$\n
  13. From: $UID$  $NAME$\n
  14. Endformat
  15. ;------------------------------------------------------
  16. Begin START
  17.    Caption 'connected'
  18.    Timeout 2 Goto CONNECT
  19. End
  20. ;------------------------------------------------------
  21. Begin CONNECT
  22.    Transmit 'hhh'
  23.    When 'U#=' Goto USERNAME
  24.    Timeout 10 Goto CONNECT1
  25. End
  26. ;------------------------------------------------------
  27. Begin CONNECT1
  28.    Transmit 'hhh'
  29.    When 'U#=' Goto USERNAME
  30.    Timeout 10 Goto USERNAME
  31. End
  32. ;------------------------------------------------------
  33. Begin USERNAME
  34.    Transmit $USERNAME
  35.    Transmit ','
  36.    Transmit $PASSWORD
  37.    Transmit ',200:9'
  38.    Cr
  39.    When 'GEnie Logon' Goto LOGGED_IN
  40.    When 'VALIDATION FAULT, REENTER U# ' Goto INVALID_LOGIN
  41.    Timeout 20 Goto NO_LOGIN
  42. End
  43. ;------------------------------------------------------
  44. Begin INVALID_LOGIN
  45.    Transmit $USERNAME
  46.    Transmit ','
  47.    Transmit $PASSWORD
  48.    Transmit ',200:9'
  49.    Cr
  50.    When 'GEnie Logon' Goto LOGGED_IN
  51.    When 'VALIDATION FAULT, REENTER U# ' Goto NO_LOGIN
  52.    Timeout 20 Goto NO_LOGIN
  53. End
  54. ;------------------------------------------------------
  55. Begin LOGGED_IN
  56.    Caption 'logged in'
  57.    When 'No letters waiting' Goto NO_MAIL
  58.    When 'Enter #, <H>elp, or <CR> to continue?' Goto GOTO_MAIL
  59.    Timeout 45 Goto NO_LOGIN
  60. End
  61. ;------------------------------------------------------
  62. Begin GOTO_MAIL
  63.    Caption 'You Have Mail'
  64.    Transmit 'm 200:9'
  65.    Cr
  66.    When 'Command?' Goto CHECK_INCOMING
  67.    When 'Enter #, <H>elp, or <CR> to continue?' Goto GOTO_MAIL
  68.    Timeout 45 Goto NO_LOGIN
  69. End
  70. ;------------------------------------------------------
  71. Begin NO_MAIL
  72.    Caption 'No Mail'
  73.    When 'Enter #, <H>elp, or <CR> to continue?' Goto NO_MAIL_PROMPT
  74.    Timeout 45 Goto NO_LOGIN
  75. End
  76. ;------------------------------------------------------
  77. Begin NO_MAIL_PROMPT
  78.    If MORE_LETTERS Then JUMP_TO_SEND
  79.    Timeout 1 Goto LOG_OFF
  80. End
  81. ;------------------------------------------------------
  82. Begin JUMP_TO_SEND
  83.    Transmit 'm 200:9'
  84.    Cr
  85.    When 'Command?' Goto 1ST_REQUEST_CREATE
  86.    When 'Enter #, <H>elp, or <CR> to continue?' Goto JUMP_TO_SEND
  87.    Timeout 45 Goto GIVE_UP
  88. End
  89. ;------------------------------------------------------
  90. Begin CHECK_INCOMING
  91.    If FETCHING Then CHECK_MAIL
  92.    If MORE_LETTERS Then 1ST_REQUEST_CREATE
  93.    Timeout 1 Goto EXIT_MAIL
  94. End
  95. ;------------------------------------------------------
  96. Begin CHECK_MAIL
  97.    Transmit 'display'
  98.    Cr
  99.    When 'No letters found' Goto NO_MAIL_DISPLAY
  100.    When 'Queue#    Item  From' Goto HAVE_MAIL
  101.    Timeout 30 Goto GIVE_UP
  102. End
  103. ;------------------------------------------------------
  104. Begin NO_MAIL_DISPLAY
  105.    Caption 'No Mail'
  106.    If MORE_LETTERS Then SEND_MAIL
  107.    When 'Command?' Goto EXIT_MAIL
  108.    Timeout 30 Goto GIVE_UP
  109. End
  110. ;------------------------------------------------------
  111. Begin HAVE_MAIL
  112.    Caption 'You Have Mail'
  113.    ClearIndex
  114.    NextIndex
  115.    When 'Command?' Goto FETCH_MAIL
  116.    Timeout 30 Goto GIVE_UP
  117. End
  118. ;------------------------------------------------------
  119. Begin FETCH_MAIL
  120.    Caption 'Fetching Mail'
  121.    Transmit 'list '
  122.    Transmit $INDEX
  123.    Cr
  124.    When 'Item' Goto DOWNLD_LETTER
  125.    When 'exceeds last' Goto NO_MORE_MAIL
  126.    When 'Command?' Goto FETCH_MAIL
  127.    Timeout 30 Goto GIVE_UP
  128. End
  129. ;------------------------------------------------------
  130. Begin DOWNLD_LETTER
  131.    Download ASCII '=END=' Then DOWNLD_SUCCESS Else GIVE_UP
  132. End
  133. ;------------------------------------------------------
  134. Begin DOWNLD_SUCCESS
  135.    Caption 'Letter Received'
  136.    Confirm LETTER.RECEIVED Successful
  137.    NextIndex
  138.    Transmit 'list '
  139.    Transmit $INDEX
  140.    Cr
  141.    When 'Item' Goto DOWNLD_LETTER
  142.    When 'exceeds last' Goto NO_MORE_MAIL
  143.    Timeout 30 Goto GIVE_UP
  144. End
  145. ;------------------------------------------------------
  146. Begin NO_MORE_MAIL
  147.    Caption 'Fetched Mail'
  148.    If MORE_LETTERS Then SEND_MAIL
  149.    When 'Command?' Goto EXIT_MAIL
  150.    Timeout 30 Goto GIVE_UP
  151. End
  152. ;------------------------------------------------------
  153. Begin SEND_MAIL
  154.    Caption 'Sending Mail'
  155.    NewLetter
  156.    When 'Command?' Goto REQUEST_CREATE
  157.    Timeout 30 Goto GIVE_UP
  158. End
  159. ;------------------------------------------------------
  160. Begin 1ST_REQUEST_CREATE
  161.    Caption 'Sending Mail'
  162.    NewLetter
  163.    Transmit 'accept'
  164.    Cr
  165.    When 'To:' Goto TRANSMIT_DEST
  166.    Timeout 15 Goto GIVE_UP
  167. End
  168. ;------------------------------------------------------
  169. Begin REQUEST_CREATE
  170.    Transmit 'accept'
  171.    Cr
  172.    When 'To:' Goto TRANSMIT_DEST
  173.    Timeout 15 Goto GIVE_UP
  174. End
  175. ;------------------------------------------------------
  176. Begin TRANSMIT_DEST
  177.    Transmit $LETTER.DEST.USERNAME
  178.    Cr
  179.    When 'ignored - not found' Goto ABORT_SEND
  180.    When 'CC:' Goto DO_CC
  181.    When 'cc:' Goto DO_CC
  182.    When 'Carbon Copy:' Goto DO_CC
  183.    Timeout 15 Goto GIVE_UP
  184. End
  185. ;------------------------------------------------------
  186. Begin DO_CC
  187.    If LETTER.CC Then TRANSMIT_CC
  188.    Cr
  189.    When 'Sub:' Goto SEND_SUBJECT
  190. End
  191. ;------------------------------------------------------
  192. Begin TRANSMIT_CC
  193.    CreateCC 0 0 Delimiter ','
  194.    Transmit $LETTER.CC
  195.    Cr
  196.    When 'CC:' Goto DO_CC
  197.    When 'cc:' Goto DO_CC
  198.    When 'Carbon Copy:' Goto DO_CC
  199.    When 'Sub:' Goto SEND_SUBJECT
  200.    When 'ignored - not found' Goto ABORT_SEND
  201.    Timeout 15 Goto GIVE_UP
  202. End
  203. ;------------------------------------------------------
  204. Begin SEND_SUBJECT
  205.    Transmit $LETTER.SUBJECT
  206.    Cr
  207.    When 'READY FOR INPUT' Goto UPLOAD_LETTER
  208.    When 'Subject:' Goto SEND_SUBJECT
  209.    Timeout 30 Goto GIVE_UP
  210. End
  211. ;------------------------------------------------------
  212. Begin UPLOAD_LETTER
  213.    Caption 'Uploading Letter'
  214.    Upload ASCII Then UPLD_SUCCESS Else UPLD_FAILURE
  215. End
  216. ;------------------------------------------------------
  217. Begin UPLD_FAILURE
  218.    Confirm LETTER.SENT Unsuccessful
  219.    Timeout 1 Goto GIVE_UP
  220. End
  221. ;------------------------------------------------------
  222. Begin UPLD_SUCCESS
  223.    Timeout 2 Goto UPLD_SUCCESS1
  224. End
  225. ;------------------------------------------------------
  226. Begin UPLD_SUCCESS1
  227.    Control C
  228.    When '>' Goto FINISH_SEND
  229.    Timeout 10 Goto UPLD_SUCCESS1
  230. End
  231. ;------------------------------------------------------
  232. Begin UPLD_SUCCESS2
  233.    Control C
  234.    When '>' Goto FINISH_SEND
  235.    Timeout 20 Goto UPLD_FAILURE
  236. End
  237. ;------------------------------------------------------
  238. Begin FINISH_SEND
  239.    Transmit '*S'
  240.    Cr
  241.    When 'Created' Goto LETTER_SENT
  242.    When '>' Goto FINISH_SEND
  243.    Timeout 30 Goto GIVE_UP
  244. End
  245. ;------------------------------------------------------
  246. Begin LETTER_SENT
  247.    Caption 'Letter Sent'
  248.    Confirm LETTER.SENT Successful
  249.    If MORE_LETTERS Then SEND_MAIL
  250.    When 'Command?' Goto EXIT_MAIL
  251.    Timeout 30 Goto GIVE_UP
  252. End
  253. ;------------------------------------------------------
  254. Begin ABORT_SEND
  255.    Caption 'Bad Address'
  256.    Control C
  257.    Confirm LETTER.SENT Unsuccessful
  258.    If MORE_LETTERS Then SEND_MAIL
  259.    When 'Command?' Goto EXIT_MAIL
  260.    Timeout 30 Goto GIVE_UP
  261. End
  262. ;------------------------------------------------------
  263. Begin EXIT_MAIL
  264.    Transmit 'bye'
  265.    Cr
  266.    Caption 'Leaving Mail Area'
  267.    When 'Enter #, <P>revious, or <H>elp?' Goto LOG_OFF
  268.    When 'Command?' Goto EXIT_MAIL
  269.    CarrierLoss Goto EXIT_PROGRAM
  270.    Timeout 20 Goto GIVE_UP
  271. End
  272. ;------------------------------------------------------
  273. Begin LOG_OFF
  274.    Transmit 'bye'
  275.    Cr
  276.    Caption 'Logging off'
  277.    When 'NO CAR' Goto EXIT_PROGRAM
  278.    When 'Enter #, <P>revious, or <H>elp?' Goto LOG_OFF
  279.    CarrierLoss Goto EXIT_PROGRAM
  280.    Timeout 20 Goto HANGUP_PHONE
  281. End
  282. ;------------------------------------------------------
  283. Begin EXIT_PROGRAM
  284.    Caption 'Logged off'
  285.    Timeout 3 Goto BYE_BYE
  286. End
  287. ;------------------------------------------------------
  288. Begin GIVE_UP
  289.    Caption 'Aborting'
  290.    Hangup
  291. End
  292. ;--------------